function init(){
	initBase();
	initRelation();
	initSupplier();
	initAudit();
	initVersion();
	loadAtt();
	$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
        var activeTab = $(e.target).attr("href");
        if("#attachmentTab" == activeTab){
        	initUploader();
        }
    });
}
showButton('#myTabContent');
showButton('#myTab');
/**
 * 加载基础信息分页信息
 * @returns
 */
function initBase(){
	selectAddOption("status","ci_state","");
	$.ajax({
		type : "POST",
		headers:PRIVATE_HEADERS,
		url : API_SERVER_URL + "cim/ci/getById",
		data : "withLists=false&id="+$("#ciIdInput").val(),
		async : true,
		error : function(request) {
			parent.layer.alert("Connection error");
		},
		success : function(data) {
			$("#firstForm").json2form({data:data});
			initCategory();
		}
	});
}

/**
 * 加载分类属性分页信息
 * @returns
 */
function initCategory(){
	var categoryId = $("#categoryId").val();
	loadModuleFields(categoryId);//根据第一步选择的所属分类信息，调用addCategory.js中的此方法初始化第二步界面
	$.ajax({
		type : "POST",
		headers:PRIVATE_HEADERS,
		url : API_SERVER_URL + "cim/ci/getFieldValuesByCiId",
		data : "id="+$("#ciIdInput").val(),
		async : true,
		error : function(request) {
			parent.layer.alert("Connection error");
		},
		success : function(data) {
			$("#secondForm").json2form({data:data});
		}
	});
}

/**
 * 加载关联配置项分页信息
 * @returns
 */
function initRelation(){
	loadRelation();
}
/**
 * 加载供货商分页信息
 * @returns
 */
function initSupplier(){
	loadSupplier()
}
/**
 * 加载审核记录分页信息
 * @returns
 */
function initAudit(){
	loadAudit();
}
/**
 * 加载历史版本分页信息
 * @returns
 */
function initVersion(){
	loadVersion()
}
/**
 * 加载现有的相关配置项的列表
 * @returns
 */
function loadRelation() {
	$('#relationTable').bootstrapTable({
		method : 'POST', 
		url : ip + 'cim/ci/listCiRelationByCiId',
		iconSize : 'outline',
		toolbar : '#exampleToolbar',
		 ajaxOptions:{
               headers:window.getRequestHears(true),
         },
		striped : true, // 设置为true会有隔行变色效果
		dataType : "json", // 服务器返回的数据类型
		pagination : false, // 设置为true会在底部显示分页条
		singleSelect : false, // 设置为true将禁止多选
		pageSize : 10, // 如果设置了分页，每页数据条数
		pageNumber : 1, // 如果设置了分布，首页页码
		showColumns : false, // 是否显示内容下拉框（选择显示的列）
		contentType : "application/x-www-form-urlencoded;charset=UTF-8",
		sidePagination : "client", // 设置在哪里进行分页，可选值为"client" 或者
		queryParams : function(params) {
			return "id="+$("#ciIdInput").val();
		},
		columns : [
			{
				field : 'targetCiVo.name',
				title : '配置项名称'
			},
			{
				field : 'targetCiVo.code',
				title : '配置项编号'
			},
			{
				field : 'targetCiVo.version',
				title : '配置项版本'
			},
			{
				field : 'relationId',
				title : '关联关系',
				formatter : function(value, row, index) {
					var list = getDictTypeFromLocalStorage("ci_relation");
					for (var i = 0; i < list.length; i++) {
						if(value == list[i].value){
							return list[i].name;
						}
					}
				}
			}]
	});
}

/**
 * 加载现有的供应商的列表
 * @returns
 */
function loadSupplier() {
	$('#supplierTable').bootstrapTable({
		method : 'POST', // 服务器数据的请求方式 get or post
		url : ip + 'cim/ci/listCiSupplierByCiId', // 服务器数据的加载地址
		iconSize : 'outline',
		toolbar : '#exampleToolbar',
		 ajaxOptions:{
               headers:window.getRequestHears(true),
         },
		striped : true, // 设置为true会有隔行变色效果
		dataType : "json", // 服务器返回的数据类型
		pagination : false, // 设置为true会在底部显示分页条
		singleSelect : false, // 设置为true将禁止多选
		pageSize : 10, // 如果设置了分页，每页数据条数
		pageNumber : 1, // 如果设置了分布，首页页码
		showColumns : false, // 是否显示内容下拉框（选择显示的列）
		contentType : "application/x-www-form-urlencoded;charset=UTF-8",
		sidePagination : "client", // 设置在哪里进行分页，可选值为"client" 或者
		queryParams : function(params) {
			return "id="+$("#ciIdInput").val();
		},
		columns : [
			{
				field : 'supplier.name',
				title : '供应商名称'
			},
			{
				field : 'supplier.contacts',
				title : '供应商联系人'
			}]
	});
}

/**
 * 加载现有的配置项审核记录的列表
 * @returns
 */
function loadAudit() {
	$('#auditTable').bootstrapTable({
		method : 'POST', 
		url : ip + 'cim/ciAudit/getListByCiId',
		iconSize : 'outline',
		toolbar : '#exampleToolbar',
		 ajaxOptions:{
               headers:window.getRequestHears(true),
         },
		striped : true, // 设置为true会有隔行变色效果
		dataType : "json", // 服务器返回的数据类型
		pagination : false, // 设置为true会在底部显示分页条
		singleSelect : false, // 设置为true将禁止多选
		pageSize : 10, // 如果设置了分页，每页数据条数
		pageNumber : 1, // 如果设置了分布，首页页码
		showColumns : false, // 是否显示内容下拉框（选择显示的列）
		contentType : "application/x-www-form-urlencoded;charset=UTF-8",
		sidePagination : "client", // 设置在哪里进行分页，可选值为"client" 或者
		queryParams : function(params) {
			return "id="+$("#ciIdInput").val();
		},
		columns : [
			{
				field : 'version',
				title : '版本号'
			},
			{
				field : 'flag',
				title : '操作',
				formatter : function(value, row, index) {
					if(value == 0){
						return "新增";
					}else if(value == 1){
						return "更改";
					}else if(value == 2){
						return "删除";
					}
				}
			},
			{
				field : 'auditFlag',
				title : '审核结果',
				formatter : function(value, row, index) {
					if(value == 0){
						return "已提交审核";
					}else if(value == 1){
						return "审核通过";
					}else if(value == 2){
						return "审核不通过";
					}else if(value == 3){
						return "删除审核通过";
					}else if(value == 4){
						return "暂存，未提交审核";
					}
				}
			},
			{
				field : 'createByName',
				title : '操作人'
			},
			{
				field : 'createTime',
				title : '操作时间'
			},
			{
				field : 'auditByName',
				title : '审核人'
			},
			{
				field : 'auditTime',
				title : '审核时间'
			}]
	});
}

/**
 * 加载配置项历史版本的列表
 * @returns
 */
function loadVersion() {
	$('#versionTable').bootstrapTable({
		method : 'POST', 
		url : ip + 'cim/ciVersion/getByCiId',
		iconSize : 'outline',
		toolbar : '#exampleToolbar',
		 ajaxOptions:{
               headers:window.getRequestHears(true),
         },
		striped : true, // 设置为true会有隔行变色效果
		dataType : "json", // 服务器返回的数据类型
		pagination : false, // 设置为true会在底部显示分页条
		singleSelect : false, // 设置为true将禁止多选
		pageSize : 10, // 如果设置了分页，每页数据条数
		pageNumber : 1, // 如果设置了分布，首页页码
		showColumns : false, // 是否显示内容下拉框（选择显示的列）
		contentType : "application/x-www-form-urlencoded;charset=UTF-8",
		sidePagination : "client", // 设置在哪里进行分页，可选值为"client" 或者
		queryParams : function(params) {
			return "id="+$("#ciIdInput").val();
		},
		columns : [
			{
				field : 'version',
				title : '版本号'
			},{
				field : 'prevVersion',
				title : '前一版本号'
			},
			{
				field : 'createByName',
				title : '操作人'
			},
			{
				field : 'createTime',
				title : '操作时间'
			},
			{
				field : 'auditByName',
				title : '审核人'
			},
			{
				field : 'auditTime',
				title : '审核时间'
			},
			{
				title : '操作',
				field : 'id',
				align : 'center',
				formatter : function(value, row, index) {
					var q = '<a  class="btn btn-info btn-sm" href="#" mce_href="#" title="查看详情" onclick="versionDetails(\''
					+ value
					+ '\')"><i class="fa fa-eye "></i></a> ';
					return q;
				}
			}]
	});
}

function versionDetails(id){
	layer.open({
		type : 2,
		title : '历史版本详情查看',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '100%', '100%' ],
		content : '../../templates/cim/versionDetail.html',
		success: function(layero, index){
			var body = layer.getChildFrame('body',index);//建立父子联系
			$(body).find('input[id=ciIdInput]').val(id);
			var iframeWin = window[layero.find('iframe')[0]['name']];
			iframeWin.init();
       }
	});
}

function initUploader(){
	$("#uploader").html('<div id="thelist" class="uploader-list"></div>'+
			    '<div class="btns">'+
			     	'<div id="picker">上传附件</div>'+
			    '</div>');
    var uploader = WebUploader.create({
        swf: '../../static/js/plugins/webuploader/Uploader.swf',
        server: window.API_SERVER_URL + 'ftp/uploadFiles/cim/att',
        headers: PRIVATE_HEADERS,
        pick: '#picker',
        resize: false,
        auto: true
    });
    // 当有文件被添加进队列的时候，添加到页面预览
    uploader.on( 'fileQueued', function( file ) {
        $('#thelist').append( '<div id="' + file.id + '" class="item">' +
            '<h4 class="info">' + file.name + '</h4>' +
            '<p class="state">等待上传...</p>' +
            '</div>' );
    });
    // 文件上传过程中创建进度条实时显示。
    uploader.on( 'uploadProgress', function( file, percentage ) {
        var $li = $( '#'+file.id ),
            $percent = $li.find('.progress .progress-bar');

        // 避免重复创建
        if ( !$percent.length ) {
            $percent = $('<div class="progress progress-striped active">' +
                '<div class="progress-bar" role="progressbar" style="width: 0%">' +
                '</div>' +
                '</div>').appendTo( $li ).find('.progress-bar');
        }

        $li.find('p.state').text('上传中');

        $percent.css( 'width', percentage * 100 + '%' );
    });
    uploader.on( 'uploadSuccess', function( file,response ) {
    	var loc = API_SERVER_URL + response[0];
    	$.ajax({
    		cache : true,
    		type : "POST",
    		headers:PRIVATE_HEADERS,
    		url : API_SERVER_URL + "cim/ciAtt/save",
    		data : "ciId="+$("#ciIdInput").val()+"&path="+loc+"&name="+file.name,// 你的formid
    		async : false,
    		error : function(request) {
    			parent.layer.alert("Connection error");
    		},
    		success : function(data) {
    			if (data.code == 0) {
    				reLoadAtt()
    			} else {
    				parent.layer.alert(data.msg)
    			}

    		}
    	});
        $( '#'+file.id ).find('p.state').text('已上传');
    });
    uploader.on( 'uploadError', function( file ) {
        $( '#'+file.id ).find('p.state').text('上传出错');
    });
    uploader.on( 'uploadComplete', function( file ) {
        $( '#'+file.id ).find('.progress').fadeOut();
    });
}


/**
 * 加载配置项附件的列表
 * @returns
 */
function loadAtt() {
	$('#attachmentTable').bootstrapTable({
		method : 'POST', 
		url : ip + 'cim/ciAtt/getByCiId',
		iconSize : 'outline',
		toolbar : '#exampleToolbar',
		 ajaxOptions:{
               headers:window.getRequestHears(true),
         },
		striped : true, // 设置为true会有隔行变色效果
		dataType : "json", // 服务器返回的数据类型
		pagination : false, // 设置为true会在底部显示分页条
		singleSelect : false, // 设置为true将禁止多选
		pageSize : 10, // 如果设置了分页，每页数据条数
		pageNumber : 1, // 如果设置了分布，首页页码
		showColumns : false, // 是否显示内容下拉框（选择显示的列）
		contentType : "application/x-www-form-urlencoded;charset=UTF-8",
		sidePagination : "client", // 设置在哪里进行分页，可选值为"client" 或者
		queryParams : function(params) {
			return "id="+$("#ciIdInput").val();
		},
		columns : [
			{
				title : '附件',
				formatter : function(value, row, index) {
					var q = '<a href="'+row.path+'" title="附件下载" target="_blank">'+row.name+'</a> ';
					return q;
				}
			},
			{
				title : '操作',
				field : 'id',
				align : 'center',
				formatter : function(value, row, index) {
					var d = '<a class="btn btn-warning btn-sm" href="#" title="删除附件"  mce_href="#" onclick="removeAtt(\''
						+ value
						+ '\')"><i class="fa fa-remove"></i></a> ';
					var permissionsArr = JSON.parse(localStorage.getItem("permissions"));
					   if(permissionsArr.indexOf('cim:ciAtt:remove') == -1){
					    	d = '';
					   }
					return d;
				}
			}]
	});
}

function reLoadAtt() {
	$('#attachmentTable').bootstrapTable('refresh');
}

function removeAtt(id){
	$.ajax({
		cache : true,
		type : "POST",
		headers:PRIVATE_HEADERS,
		url : API_SERVER_URL + "cim/ciAtt/remove",
		data : "id="+id,// 你的formid
		async : false,
		error : function(request) {
			parent.layer.alert("Connection error");
		},
		success : function(data) {
			if (data.code == 0) {
				reLoadAtt()
			} else {
				parent.layer.alert(data.msg)
			}

		}
	});
}
